//全局数组[jquery获取对象的表达式,验证函数,验证结果对象中的属性]
var asktitle = ['#asktitle','checkAsktitle()','validate.asktitle'];
var askdesc = ['#askdesc','checkAskdesc()','validate.askdesc'];
var sex = ['input:radio[name=\'sex\']','checkSex()','validate.sex'];
var age = ['#age','checkAge()','validate.age'];
 var reg = /^(\s|\u00A0)+|(\s|\u00A0)+$/g;
if(enablecheckcode){
    var code = ['#code','checkCode()','validate.code'];
}
//验证结果对象
function Validate(){    
 //   this.symptom = false;
    this.asktitle = true;
    this.askdesc = false;
    this.age = false;
    this.sex = false;
    if(enablecheckcode){
        this.code = false;
    }    
}
var validate = new Validate();

$(function(){
    $("#age").blur(function(){
    	var my_age = $(this).val();
    	if(my_age && my_age.length>0){
    		 setStats(age,'','correct');
    	}else{
             setStats(age,'请选择出生年份','error');
        }

    });
    
    //绑定事件    
    //addEvent(sex,'请选择患者性别');
    $(sex[0]).click(function(){
        eval(sex[1]);
    });
//    addEvent(age,'患者年龄为1-120之间整数');
    if(enablecheckcode){
        addEvent(code,'请正确输入验证码');
    }
    
    //提交验证    
    $('#qsubmit').click(function(event){  
    	event.stopPropagation();
        info = '';
        //eval(symptom[1]);
        eval(asktitle[1]);
        eval(askdesc[1]);
        
        if(info){
            alert(info);
        }
        eval(age[1]);
        eval(sex[1]);
        if(enablecheckcode){
            eval(code[1]);
        }
        
        for (var key in validate) { 

            if(!validate[key]){
                var h2Obj = (key=='askdesc' || key == "asktitle") ? $("#advisoryContent") : $("#personalInformation");
                $("body,html").animate({scrollTop:h2Obj.offset().top},100);
                return false;
            }
        }
        if(!checkUsername()){
            return false;
        }
        if(!checkUsermobile()){
            return false;
        }
        $('#qsubmit').attr('disabled', true).val('').hide();
		$(this).next('img').show();
		$('#myform').submit();
    });
});

/**
 * 显示状态设置
 * arr [jquery获取对象的表达式,验证函数,验证结果对象中的属性]
 * mess 提示信息
 * state 显示的状态
 */
function setStats(arr,mess,state) {
    var objTs = $("#"+$(arr[0]).attr('id')+"_ts");
    switch(state){
        case 'error': //错误提示
            objTs.show().addClass("tip");           
            objTs.html('<img class="tiperror" src="'+FHUrls.statics+'/images/iask/old/w_gif01b.gif" /><span class="content">'+mess+'</span>');
            eval(arr[2]+'=false');
            break;
        case 'correct': //正确提示
            objTs.show().removeClass("tip");                
            objTs.html('<img class="tipsuccess" src="'+FHUrls.statics+'/images/iask/old/w_gif02b.gif" /><span class="content">'+mess+'</span>');
            eval(arr[2]+'=true');
            break;
        case 'warning': //警告提示
            objTs.show().addClass("tip");        
            objTs.html('<img class="tipwarning" src="'+FHUrls.statics+'/images/iask/old/w_gif03b.gif" /><span class="content">'+mess+'</span>');
            break;
        case 'clean': //清除提示
            objTs.addClass('hide'); 
            break;
        default:
            break;
    }
}

/**
 * 添加事件
 * arr [jquery获取对象的表达式,验证函数,验证结果对象中的属性]
 * str 得到焦点时的提示信息
 */
function addEvent(arr,str){
    $(arr[0]).focus(function(){
        setStats(arr,str,'clean');
    }).blur(function(){
        eval(arr[1]);
    });
}
// 
function checkUsername(){
    var userInput=$('input[name=username]');
    if(userInput.length && !userInput.val()){
        alert("请填写联系姓名");
        return false;
    }else{
        return true;
    }
}
function checkUsermobile(){
      var mobileInput=$('input[name=usermobile]');
    if(mobileInput.length && !mobileInput.val()){
        alert("请填写联系电话");
        return false;
    }else{
        return true;
    }
}
//验证问题标题
function checkAsktitle() {

    var val = $(asktitle[0]).val().replace(reg,"");
    if(!val || val=='请简述您的问题作为标题'){
        eval(asktitle[2]+'=false');
        info += info ? '\n' : '';
        info += '请输入问题标题';
        //$(asktitle[0]).val('');
    }else{
        if(val.length < 5){

            eval(asktitle[2]+'=false');
            info += info ? '\n' : '';
            info += '问题标题：5-25个字';
        }else if(val.length > 25){

            eval(asktitle[2]+'=false');
            info += info ? '\n' : '';
            info += '问题标题：5-25个字';
        } else if (val.search(/[\u4e00-\u9fa5]/g) == -1 || val.match(/[\u4e00-\u9fa5]/g).length < 5) {

            eval(asktitle[2]+'=false');
            info += info ? '\n' : '';
            info += '问题标题：至少包含5个中文字符';
        }else{
            eval(asktitle[2]+'=true');
        }
    }
   
}
//验证病情描述
function checkAskdesc(){
  var  val = $(askdesc[0]).val().replace(reg,"");
    if(!val || val=='请填写:比如症状持续时间，以前接受过什么治疗，服用过什么药物，是否过敏，需要什么帮助等' || val=='提出健康问题，专家及时免费解答！'){
        eval(askdesc[2]+'=false');
        info += info ? '\n' : '';
        info += '请输入病情描述';
        //$(askdesc[0]).val('');
    }else{
        if(val.length < 20){
            eval(askdesc[2]+'=false');
            info += info ? '\n' : '';
            info += '病情描述：20-500个字';
        }else if(val.length > 500){
            eval(askdesc[2]+'=false');
            info += info ? '\n' : '';
            info += '病情描述：20-500个字';
        }else{
            eval(askdesc[2]+'=true');
        }
    }
}
//验证性别
function checkSex(){
//    if($(sex[0]).filter("[checked='true']").val() == undefined){
    if($('input:radio[name="sex"]:checked').val() == undefined){
        setStats(sex,'患者性别不能为空','error');
    }else{
        eval(sex[2]+'=true');
        setStats(sex,'','clean');
        setStats(sex,'','correct');
    }
}
//验证年龄
function checkAge(){
    var val = $.trim($(age[0]).val());    
    // var val = $(age[0]).val();   
    // var  val = $(age[0]).val().replace(reg,"");
    if(!val){
        setStats(age,'请选择出生年份','error');
        $(age[0]).val('');
    }else{
    	 setStats(age,'','correct');
    }
}
//验证验证码
function checkCode(){
    var val = encodeURI($.trim($(code[0]).val()));
    if(!val){
        setStats(code,'请输入验证码','error');
        $(code[0]).val('');
    }else{
        $.ajax({
            type: 'GET',
            url: '/question/checkcode?code='+val+'&rand='+Math.random(),
            async: false,
            success: function(data){
            	$('#qsubmit').prop('disabled', false);
                if(data.result==1){
                    setStats(code,'','correct');
                }else{
                    setStats(code,'验证码不正确','error');
                }
            }
        });        
    }
}